/**
 * Copyright (c) 2016-2019 九点科技 All rights reserved.
 *
 * http://www.9dyun.cn
 *
 * 版权所有，侵权必究！
 */
package com.dian.modules.inv.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.dian.common.utils.PageUtils;
import com.dian.modules.inv.entity.GoodsAccountEntity;
import com.dian.modules.inv.poi.vo.GoodsAccountExportVO;
import com.dian.modules.inv.vo.GoodsStockVO;

import java.util.Map;
import java.util.List;
/**
 * 月结报表服务接口类
 *
 * @author xiaolai
 * @email xiaolai@9dyun.cn
 * @date 2019-06-27 11:48:04
 */
public interface GoodsAccountService extends IService<GoodsAccountEntity> {

    /**
     * 初始化期初
     * @param goodsAccountEntity
     * @return
     */
    boolean initBeginAccount( GoodsAccountEntity goodsAccountEntity);

    /**
     * 仓库月结查询
     * @param params
     * @return
     */
    PageUtils warehouseList(Map<String, Object> params);

    /**
     * 月结报表导出
     * @param params
     * @return
     */
    List<GoodsAccountExportVO> exportList(Map<String, Object> params);

    /**
     * 月结报表分页
     * @param params
     * @return
     */
    PageUtils queryPage(Map<String, Object> params);

    /**
     * 月结报表新增
     * @param goodsAccount
     * @return
     */
    boolean saveInfo(GoodsAccountEntity goodsAccount);

    /**
     * 月结报表更新
     * @param goodsAccountEntity
     * @return
     */
    boolean updateInfo(GoodsAccountEntity goodsAccountEntity);


    /**
     * 月结报表详情
     * @param id
     * @return
     */
        GoodsAccountEntity getInfo(Long id);

    /**
     * 月结报表批量删除
     * @param ids
     * @return
     */
    boolean deleteInfo(Long[] ids);
    /**
     * 月结报表审核
     * @param id
     * @return
     */
    boolean checkInfo(Long  id);

    /**
     * 查询商品的期初数量
     * @param goodsStockVO
     * @return
     */
    GoodsAccountEntity queryGoodsBeginAccount(GoodsStockVO goodsStockVO);




}

